/* Copyright (c) 2010 OFXKit
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#import <Foundation/Foundation.h>
#import "OFXObject.h"

@interface OFX401kSummaryInfo : OFXObject {
  NSDate* dateStart;
  NSDate* dateEnd;
  NSNumber* preTaxContributions;
  NSNumber* afterTaxContributions;
  NSNumber* matchingContributions;
  NSNumber* profitSharingContributions;
  NSNumber* rollOverContributions;
  NSNumber* otherVestingContributions;
  NSNumber* otherNonVestingContributions;
  NSNumber* totalContributions;
  NSNumber* preTaxWithdrawals;
  NSNumber* afterTaxWithdrawals;
  NSNumber* matchingWithdrawals;
  NSNumber* profitSharingWithdrawals;
  NSNumber* rollOverWithdrawals;
  NSNumber* otherVestingWithdrawals;
  NSNumber* otherNonVestingWithdrawals;
  NSNumber* totalWithdrawals;
  NSNumber* preTaxEarnings;
  NSNumber* afterTaxEarnings;
  NSNumber* matchingEarnings;
  NSNumber* profitSharingEarnings;
  NSNumber* rollOverEarnings;
  NSNumber* otherVestingEarnings;
  NSNumber* otherNonVestingEarnings;
  NSNumber* totalEarnings;
}

/**
 * @property dateStart
 * @brief Starting date of summary information.
 */
@property(retain) NSDate* dateStart;

/**
 * @property dateEnd
 * @brief Ending date of summary information.
 */
@property(retain) NSDate* dateEnd;

/**
 * @property preTaxContributions
 * @brief Amount of pre-tax contributions.
 */
@property(retain) NSNumber* preTaxContributions;

/**
 * @property afterTaxContributions
 * @brief Amount of after-tax contributions.
 */
@property(retain) NSNumber* afterTaxContributions;

/**
 * @property matchingContributions
 * @brief Amount of matching contributions.
 */
@property(retain) NSNumber* matchingContributions;

/**
 * @property profitSharingContributions
 * @brief Amount of profit sharing contributions.
 */
@property(retain) NSNumber* profitSharingContributions;

/**
 * @property rollOverContributions
 * @brief Amount of roll-over contributions.
 */
@property(retain) NSNumber* rollOverContributions;

/**
 * @property otherVestingContributions
 * @brief Amount of other vesting contributions.
 */
@property(retain) NSNumber* otherVestingContributions;

/**
 * @property otherNonVestingContributions
 * @brief Amount of other non-vesting contributions.
 */
@property(retain) NSNumber* otherNonVestingContributions;

/**
 * @property totalContributions
 * @brief Total amount of contributions.
 */
@property(retain) NSNumber* totalContributions;

/**
 * @property preTaxWithdrawals
 * @brief Amount of pre-tax withdrawals.
 */
@property(retain) NSNumber* preTaxWithdrawals;

/**
 * @property afterTaxWithdrawals
 * @brief Amount of after-tax withdrawals.
 */
@property(retain) NSNumber* afterTaxWithdrawals;

/**
 * @property matchingWithdrawals
 * @brief Amount of matching withdrawals.
 */
@property(retain) NSNumber* matchingWithdrawals;

/**
 * @property profitSharingWithdrawals
 * @brief Amount of profit-sharing withdrawals.
 */
@property(retain) NSNumber* profitSharingWithdrawals;

/**
 * @property rollOverWithdrawals
 * @brief Amount of roll-over withdrawals.
 */
@property(retain) NSNumber* rollOverWithdrawals;

/**
 * @property otherVestingWithdrawals
 * @brief Amount of other-vesting withdrawals.
 */
@property(retain) NSNumber* otherVestingWithdrawals;

/**
 * @property otherNonVestingWithdrawals
 * @brief Amount of other-non-vesting withdrawals.
 */
@property(retain) NSNumber* otherNonVestingWithdrawals;

/**
 * @property totalWithdrawals
 * @brief Total amount of withdrawals.
 */
@property(retain) NSNumber* totalWithdrawals;

/**
 * @property preTaxEarnings
 * @brief Amount of pre-tax earnings.
 */
@property(retain) NSNumber* preTaxEarnings;

/**
 * @property afterTaxEarnings
 * @brief Amount of after-tax earnings.
 */
@property(retain) NSNumber* afterTaxEarnings;

/**
 * @property matchingEarnings
 * @brief Amount of matching earnings.
 */
@property(retain) NSNumber* matchingEarnings;

/**
 * @property profitSharingEarnings
 * @brief Amount of profit-sharing earnings.
 */
@property(retain) NSNumber* profitSharingEarnings;

/**
 * @property rollOverEarnings
 * @brief Amount roll-over earnings.
 */
@property(retain) NSNumber* rollOverEarnings;

/**
 * @property otherVestingEarnings
 * @brief Amount of other-vesting earnings.
 */
@property(retain) NSNumber* otherVestingEarnings;

/**
 * @property otherNonVestingEarnings
 * @brief Amount of other-non-vesting earnings.
 */
@property(retain) NSNumber* otherNonVestingEarnings;

/**
 * @property totalEarnings
 * @brief Total earnings for period.
 */
@property(retain) NSNumber* totalEarnings;

@end
